package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.List;

import uteis.Constantes;
import model.Registro;
import model.Usuarios;

public class UsuariosJDBCCadastro implements UsuariosCadastroDAO {
	Connection conexao;

	public UsuariosJDBCCadastro(Connection conexao) {
		this.conexao = conexao;
	}

	public String salvar(Usuarios usuarios) {

		String sqlquery = "insert into db_connect.USUARIOS(CDEMPRESA, NOMEUSUARIO, LOGINUSUARIO, EMAILUSUARIO, SENHAUSUARIO, STATUSUSUARIO, BOLDML, DTINCLUSAO)"
				+ " values(?,?,?,?,?,?,?,?);";
		String valor = "error";
		PreparedStatement pstmt;
		try {
			pstmt = this.conexao.prepareStatement(sqlquery);
			pstmt.setString(1, usuarios.getIdempresaloginusuario());
			pstmt.setString(2, usuarios.getNomeloginusuario());
			pstmt.setString(3, usuarios.getLognomeloginusuario());
			pstmt.setString(4, usuarios.getEmailloginusuario());
			pstmt.setString(5, usuarios.getSenhaloginusuario());
			pstmt.setString(6, usuarios.getStatusloginusuario());
			pstmt.setString(7, usuarios.getBoldmlloginusuario());
			pstmt.setDate(8, new java.sql.Date(usuarios
					.getDtinclusaologinusuario().getTime()));
			// pstmt.setTime(9, new java.sql.Time(
			// usuarios.getHrinclusaologinusuario().getTime() ));

			// System.out.println("comando sql:"+sqlquery);
			pstmt.execute();

			sqlquery = "Select CDUSUARIO from db_connect.USUARIOS where LOGINUSUARIO = '"
					+ usuarios.getLognomeloginusuario() + "';";
			java.sql.Statement stmt = conexao.createStatement();
			ResultSet rs = null;
			rs = stmt.executeQuery(sqlquery);
			while (rs.next()) {
				valor = rs.getString("CDUSUARIO");
			}

			return (valor);

		} catch (Exception e) {
			e.printStackTrace();
			return ("error");
		}

	}

	public String salvaEmpresaUsuario(List<Registro> empresausuarioListar,
			String idusuario) {
		String sqlquery = "insert into db_connect.USUARIO_EMPRESA(CDUSUARIO, CDREGISTRO, BOLSTATUS, BOLDEFAULT)"
				+ " values(?,?,?,?);";

		PreparedStatement pstmt;
		int tamanho = 0;
		int tam = empresausuarioListar.size();

		while (tamanho <= (tam - 1)) {
			try {
				if (empresausuarioListar.get(tamanho).getBolstatus()
						.equals("true")) {
					pstmt = this.conexao.prepareStatement(sqlquery);
					pstmt.setString(1, idusuario);
					pstmt.setString(2, empresausuarioListar.get(tamanho).getCdregistro());
					pstmt.setString(3, "A");
					if(empresausuarioListar.get(tamanho).getCdregistro().equals(Constantes.cdempresas));
						pstmt.setString(4, Constantes.cdempresas);
					pstmt.setString(4, empresausuarioListar.get(tamanho).getBoldefault());
					pstmt.execute();
				}

			} catch (Exception e) {
				e.printStackTrace();
				return ("error");
			}
			tamanho++;
		}
		empresausuarioListar.clear();
		return "success";
	}

	public void editar(Usuarios usuarios) {

	}

	public void excluir(Usuarios usuarios) {

	}

	public List<Usuarios> ListarUsuariosT() {
		return null;
	}

}